
package es.ats.codington.festival.interfaces.daos;

import java.sql.ResultSet;
import java.sql.SQLException;

import es.ats.codington.festival.domain.People;
import es.ats.codington.festival.domain.Visitor;
import es.ats.codington.festival.exceptions.DAOException;

/**
 * @author Codington_RED
 *
 */
public interface IVisitorDAO {
	
	/**
	 * DAO interface  for getVisitor Visitor method
	 * @param resultSet
	 * @return visitor
	 * @throws SQLException
	 */
	public Visitor getVisitor(ResultSet resultSet) throws SQLException;
	
	/**
	 * DAO interface  for insertData method
	 * @param people
	 * @return insertPeople
	 * @throws DAOException
	 */
	public boolean insertData(People people) throws DAOException;
	
	/**
	 * DAO interface  for insertData method
	 * @param visitor
	 * @return insertVisitor
	 * @throws DAOException
	 */
	public boolean insertData(Visitor visitor) throws DAOException;
	
	/**
	 * DAO interface  for searchVisitor method
	 * @param visitor
	 * @return v
	 * @throws DAOException
	 */
	public Visitor searchVisitor(Visitor visitor) throws DAOException;
	
	/**
	 * DAO interface  for updateVisitor method
	 * @param people
	 * @return affectedRows
	 * @throws DAOException
	 */
	public int updateVisitor(People people) throws DAOException;
	
	/**
	 * DAO interface  for updateVisitor method
	 * @param visitor
	 * @return affectedRows
	 * @throws DAOException
	 */
	public int updateVisitor(Visitor visitor) throws DAOException;
	
	/**
	 * DAO interface  for changePassword method
	 * @param visitor
	 * @return affectedRows
	 * @throws DAOException
	 */
	public int changePassword(Visitor visitor) throws DAOException;
	
	/**
	 * DAO interface  for searchPeople method
	 * @param people
	 * @return p
	 * @throws DAOException
	 */
	public People searchPeople(People people) throws DAOException;
	
	/**
	 * DAO interface  for getPeople method
	 * @param resultSet
	 * @return people
	 * @throws SQLException
	 */
	public People getPeople(ResultSet resultSet) throws SQLException;
	
	/**
	 * DAO interface  for getIdPeople method
	 * @param p
	 * @return idPeople
	 */
	public int getIdPeople(People p);
	
	/**
	 * DAO interface  for getIdVisitor method
	 * @param v
	 * @return idVisitor
	 */
	public int getIdVisitor(Visitor v);
	
	/**
	 * DAO interface  for insertDataV method
	 * @param visitor
	 * @return insertVisitor
	 * @throws DAOException
	 */
	public boolean insertDataV(Visitor visitor) throws DAOException;
	
	/**
	 * DAO interface  for getCheckLogin method
	 * @param visitor
	 * @return isAdmin
	 * @throws DAOException
	 * @throws SQLException
	 */
	public boolean getCheckLogin(Visitor visitor) throws DAOException, SQLException;
	
	/**
	 * DAO interface  for getCheckPeople method
	 * @param people
	 * @return isLogin
	 * @throws DAOException 
	 * @throws SQLException
	 */
	public boolean getCheckPeople(People people) throws DAOException, SQLException;
	
	/**
	 * DAO interface  for getCheckAdmin method
	 * @param visitor
	 * @return isLogin
	 * @throws DAOException
	 * @throws SQLException
	 */
	public boolean getCheckAdmin(Visitor visitor) throws DAOException, SQLException;
	
	/**
	 * DAO interface  for updateVisitorDni method
	 * @param people
	 * @return affectedRows
	 * @throws DAOException
	 */
	public int updateVisitorDni(People people) throws DAOException;
	
	
	

}